home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / AppleScript / Development Tools / Tools Goodies / AEGizmos 1.4.1 / Headers / AEStream.h < prev    next >
Encoding:
Text File  |  1995-03-17  |  2.2 KB  |  72 lines  |  [TEXT/MMCC]

  1. ////
  2. ////    AEStream.h                A (write-only) stream for creating AE Descriptors.
  3. ////
  4. ////    By Jens Alfke            ©1991-1992 Apple Computer, Inc. All rights reserved.
  5. ////
  6.  
  7.  
  8. #pragma once
  9.  
  10. #ifndef __AESTREAM__
  11. #define __AESTREAM__                                /* For poor MPW users :) */
  12.  
  13. #ifndef __APPLEEVENTS__
  14. #include <AppleEvents.h>
  15. #endif
  16.  
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22. // The "AEStream_CPlus.h" header is no longer automatically included. You can include it
  23. // yourself instead of this one if you want to use the object-based syntax in C++.
  24.  
  25.  
  26. #define errAEStream_BadNesting    13579    /* Bad descriptor/array nesting error */
  27.  
  28.  
  29. typedef struct {                // A (write-only) stream on an AE descriptor
  30.     Handle    data;                    // The data
  31.     Size    size;                    // Current size of handle [same as GetHandleSize(data)]
  32.     Size    index;                    // Current index (into data handle) to write to
  33.     Size    headIndex;                // Offset of header [type field] of open descriptor
  34.     char    context;                // What context am I in? [enum]
  35.     char    isEvent;                // Is this an Apple Event? [Boolean]
  36. } AEStream, *AEStreamRef;
  37.  
  38.  
  39. OSErr    AEStream_Open        ( AEStreamRef ),
  40.         AEStream_Close        ( AEStreamRef, AEDesc *desc ),
  41.  
  42.         AEStream_OpenDesc    ( AEStreamRef, DescType type ),
  43.         AEStream_WriteData    ( AEStreamRef, const void *data, Size length ),
  44.         AEStream_CloseDesc    ( AEStreamRef ),
  45.  
  46.         AEStream_WriteDesc    ( AEStreamRef, DescType type, const void *data, Size length ),
  47.         AEStream_WriteAEDesc( AEStreamRef, const AEDesc *desc ),
  48.  
  49.         AEStream_OpenList    ( AEStreamRef ),
  50.         AEStream_CloseList    ( AEStreamRef ),
  51.  
  52.         AEStream_OpenRecord    ( AEStreamRef, DescType type ),
  53.         AEStream_SetRecordType( AEStreamRef s, DescType type ),
  54.         AEStream_CloseRecord( AEStreamRef ),
  55.  
  56.         AEStream_WriteKeyDesc(AEStreamRef, AEKeyword key, DescType type, const void *data, Size length ),
  57.         AEStream_OpenKeyDesc( AEStreamRef, AEKeyword key, DescType type ),
  58.         AEStream_WriteKey    ( AEStreamRef, AEKeyword key ),
  59.  
  60.         AEStream_CreateEvent( AEStreamRef, AEEventClass, AEEventID,
  61.                                 DescType targetType, const void *targetData, long targetLength,
  62.                                 short returnID, long transactionID ),
  63.         AEStream_OpenEvent    ( AEStreamRef, AppleEvent* ),
  64.         AEStream_OptionalParam( AEStreamRef, AEKeyword key );
  65.  
  66. #ifdef __cplusplus
  67. }
  68. #endif
  69.  
  70.  
  71. #endif
  72.